14.1.4 PhaseFunctions

participating medium은 다양한 반지름의 입자들로 구성되어 있다. 입자들의 다양한 사이즈 분포는 빛이 진행 방향 기준으로 특정 방향으로 산란될 확률에 영향을 미친다. 이러한 물리현상은 Section 9.1에 설명되어 있다.

4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517161728.png
phase function(빨강)을 설명하는 그림. phase function이 θ에 관하여 scattered light(초록)에 영향을 주는 모습

Equation 14.4에서 보여 졌듯이, 산란되는 방향의 확률과 분포를 설명하기 위해, in-scattering을 계산할때, phase function을 사용한다. Figure 14.7에서 이를 확인할 수 있다. 빨강으로 표현된 phase function light의 forward travel path(파랑)과 방향 v(녹색)의 각도 θ를 파라미터로 사용한다. 이 phase function 예제에는 두가지 메인 로브가 있다: small backward-scattering lobe와 larget foward-scattering lobe가 있다.
Camera B는 larget forward-scattering lobe 방향쪽에 있으며, Camera A와 비교해서 더 많은 scattered radiance를 받게 된다. phase function이 에너지 보존을 만족하기 위해선 단위 구면상 phase function 적분값은 1이 되어야 한다.

phase function은 해당 지점에 도달하는 directional radiance information을 기반으로 in-scattering 값을 변화 시킨다. 가장 간단한 함수는 isotropic이다: 빛이 모든 방향으로 균일하게 산란되는 것이다. 이 완벽하지만 비현실적인 방법은 아래 식으로 표현된다.
4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517165131.png
θ는 들어오는 빛과 out-scattering의 사이각이며, 4π는 단위 구면체의 너비다.

물리 기반의 phase function은 입자의 상대적 크기 sp에 따라 달라지며, 이는 다음 식으로 정의된다:
4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517165350.png
r은 입자 반지름 이며 λ 는 파장이다.

Rayleigh Scattering

Lord Rayleigh가 공기 중 분자에 의해 빛이 산란되는 현상을 설명하는 수식을 유도했다. 이러한 수식이 지그의 대기에서의 빛 산란을 설명하는데에도 사용 된다. 이 phase function은 두개의 lobes를 가지고 있는데, 빛의 방향에 따른 backward와 forward scattering이다.Figure 14.8

4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517184635.png
θ에 대한 Rayleigh phase function 극 좌표 플롯.빛은 왼쪽으로 부터 수평으로 들어오고 상대적 세기는 x축 기준으로 반시계 방향으로 측정된 θ각도에 대해 표시된다. forward와 backward scattering 확률은 같다.

이 함수는 들어오는 빛과 out-scattering의 방향의 각 θ로 평가된다.
4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517185114.png
Rayleigh scattering은 파장에 크게 의존한다. 빛의 파장 λ에 대해, scattering coefficient σs.는 파장의 4제곱에 반비례 한다.

4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517185426.png

이러한 관계는 파랑이나 보라같은 짧은 파장의 빛이 빨강 같은 긴파장의 빛보다 더 많이 산란된다는 것을 의미한다. 이 식에서 유도된 스펙트럼분포는 Section 8.1.3의 color-matching functions에 의해 변환될 수 있다:σs = (0.490, 1.017, 2.339). 이 값은 luminance of 1로 정규화 된 것 이고, 원하는 산란 강도에 따라 스케일링 하면 된다. 대기에서 파란 빛이 더 많이 산란되는 것은 Section 14.4.1에 설명되어 있다.

Mie Scattering

4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517214024.png
θ에 대한 phase function Henyey-Greenstein(in blue)와 Schlick approximation(in red)의 극좌표 플롯. 빛은 왼쪽에서 수평으로 들어 온다. 파라미터 g는 0, 0.3, 0.6으로 증가하며 오른쪽으로 strong lobe를 보여준다. 이는 빛이 왼쪽에서 오른쪽으로 forward path를 따라 더 많이 산란됨을 의미한다.

Mie Scattering[776]은 입자의 크기가 빛의 파장과 같을때 사용할 수 있는 모델이다. 이러한 타입의 scattering은 파장에 의존적이지 않다. The MiePliot software가 이 현상을 시뮬레이션하는데 유용할 것 이다.[996] 특정한 입자 사이즈에 대한 Mie phase function은 전형적으로 강하고 날카로운 directional lobes를 같는 분포를 보여준다. 높은 확률로 photons를 phthon의 진행방향에 대해 특정 방향으로 산란된다. volume shading을 위해 이러한 phase functions를 계산하는 것은 비용이 높지만, 그렇게 자주 사용되진 않는다. 매질은 일반적으로 연속적인 분포의 입자 크기를 갖는다. 매질의 모든 입자 사이즈의 Mie phase functions을 계산해 평균내면 전체 매질에 대한 smooth average phase function이 된다. 이러한 이유로 smooth average phase function이 Mie Scattering을 나타내는데 사용된다.
이러한 목적으로 사용되는 함수는 일반적으로 Henyey-Greenstein(HG) phase function인데, 이 함수는 원래 성간 먼지의 빛의 산란을 시뮬레이션하는 목적으로 사용되었다 [721]. 이 함수는 실제 세계의 모든 복잡한 산란을 다룰순 없지만, 주로 산란되는 방향과 같은 phase function lobes와 같은 것을 포착하기 좋다. 이것은 연기, 안개 혹은 먼지와 같은 participating media를 표현하는데 좋다. 이러한 매질들은 강하게 backward 혹은 forward 산란을 갖는데, 광원 주변에 큰 헤일로를 생성한다. 예시로 안개 속 spotlights와 해 방향의 구름에서 강한 silver-lining 이펙트가 나타나는 것 이 있다.
HG phase function은 Rayleigh scatering보다 더 복잡하다:

4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517213824.png

이 식은 Figure 14.9처럼 다양한 형태를 보여줄 수 있다. g파라미터가 [-1, 1]범위를 가질때, 아래와 같이 빛이 산란된다.

4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517214649.png
HG phase function의 영향을 받은 Participating-media Stanford bunny. g = 0.0, 0.5, 0.9, 0.99, 0.999이며 아래행은 윗행보다 10배 더 denser participating media이다.

HG phase function과 유사하면서 더 빠른 결과를 보여주는 방법은 Schlick phase function을 사용하는 것 이다:

4. Archive/WhiteEngine/Real-Time Rendering 4th Edition/Attachments/Pasted image 20250517220311.png

이식은 특별한 power function은 없고, 2제곱만 있기 때문에 훨씬 빠르게 계산이 가능하다. 이 함수를 HG phase function에 대응하기 위해선, k 파라미터를 g로부터 계산해야 한다. 이 함수는 에너지 보존을 만족하는 근사임을 Figure 14.9에서 확인할 수 있다.

여러개의 HG 또는 Schlick phase functions 을 섞어서 더 복잡한 phase function을 표현 할 수도 있다. 이것은 phase function이 강하게 forward and backward scattering lobe를 표현하게 할 수 있는데, 이는 구름이 표현되는 방식과 유사하다.Section 14.4.2

Geometric Scattering

Geometric scattering은 빛의 파장보다 입자가 상당히 클때 발생한다. 이러한 경우, light는 입자 내에서 굴절되고, 반사될 수 있다. 이러한 움직임은 거시 수준 시뮬레이션에서 더 복잡한 scattering phase function을 요구한다. Light polarization 또한 이 유형으 산란에 영향을 줄 수 있다. 예를 들어 실제 무지개가 이에 해당된다. 무지개는 공기중 물 입자의 내부 반사에 의해 발생하는데, 그 과정에서 태양빛을 분산시켜 약 3도 정도의 시각적 각도 내에서 가시광 스펙트럼으로 나타나는 backward-scattering 현상이다. 이러한 복잡한 phase functions는 MiePlot software에서 시뮬레이션 될 수 있다. 이러한 종류의 phase function은 Section 14.4.2에서 다루고 있다.